package cn.zxl.graduate.web.controller;

import cn.zxl.graduate.service.IUserService;
import cn.zxl.graduate.util.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

/**
 * @Date 2021/11/1 14:35
 * @Version 1.0
 * @Description
 */
@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private IUserService userService;

    /**
     * 前端校验用户名是否存在 如果存在就返回true 不存在就返回的是false
     *
     * @param username
     * @return
     */
    @GetMapping("/checkUsername")
    public boolean checkUsername(String username) {
        return userService.isExistForUserByUserName(username);
    }

    /**
     * 注册功能的实现，会对其中的每个参数进行校验，然后在进行储存。
     *
     * @param username,password,rpassword,email,nickname,phone
     * @return
     */
    @PostMapping("/regist")
    public JsonResult<?> regist(String username,
                                String password,
                                String rpassword,
                                String nickname,
                                String phone,String email) {

        userService.registUser(username,password,rpassword,nickname,phone,email);
        return JsonResult.success("注册成功");
    }

    /**
     * 登录功能的实现
     *
     * @param username
     * @param password
     * @return
     */
    @PostMapping("/login")
    public JsonResult<?> login(String username,String password) {
        Map<String,Object> map = userService.login(username,password);
        return JsonResult.success(map);
    }

}
